
package com.fis.hlo.pm.persistence;

import java.math.BigDecimal;
import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;






/**
 * <p>Java class for settleHistory complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="settleHistory">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="createDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
 *         &lt;element name="payableInvoice" type="{http://settlereport.pm.hlo.fis.com/}invoices" minOccurs="0"/>
 *         &lt;element name="payableRemain" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="payableTransaction" type="{http://settlereport.pm.hlo.fis.com/}transactions" minOccurs="0"/>
 *         &lt;element name="receivableInvoice" type="{http://settlereport.pm.hlo.fis.com/}invoices" minOccurs="0"/>
 *         &lt;element name="receivableRemain" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="receivableTransaction" type="{http://settlereport.pm.hlo.fis.com/}transactions" minOccurs="0"/>
 *         &lt;element name="settleAmount" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="settleHistoryId" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *         &lt;element name="status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="userName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "settleHistory", propOrder = {
    "createDate",
    "payableInvoice",
    "payableRemain",
    "payableTransaction",
    "receivableInvoice",
    "receivableRemain",
    "receivableTransaction",
    "settleAmount",
    "settleHistoryId",
    "status",
    "userName"
})
@XmlSeeAlso({
    CustomSettleHistory.class
})
public class SettleHistory {

    @XmlSchemaType(name = "dateTime")
    protected Date createDate;
    protected Invoices payableInvoice;
    protected BigDecimal payableRemain;
    protected Transactions payableTransaction;
    protected Invoices receivableInvoice;
    protected BigDecimal receivableRemain;
    protected Transactions receivableTransaction;
    protected BigDecimal settleAmount;
    protected Long settleHistoryId;
    protected String status;
    protected String userName;

    /**
     * Gets the value of the createDate property.
     * 
     * @return
     *     possible object is
     *     {@link Date }
     *     
     */
    public Date getCreateDate() {
        return createDate;
    }

    /**
     * Sets the value of the createDate property.
     * 
     * @param value
     *     allowed object is
     *     {@link Date }
     *     
     */
    public void setCreateDate(Date value) {
        this.createDate = value;
    }

    /**
     * Gets the value of the payableInvoice property.
     * 
     * @return
     *     possible object is
     *     {@link Invoices }
     *     
     */
    public Invoices getPayableInvoice() {
        return payableInvoice;
    }

    /**
     * Sets the value of the payableInvoice property.
     * 
     * @param value
     *     allowed object is
     *     {@link Invoices }
     *     
     */
    public void setPayableInvoice(Invoices value) {
        this.payableInvoice = value;
    }

    /**
     * Gets the value of the payableRemain property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getPayableRemain() {
        return payableRemain;
    }

    /**
     * Sets the value of the payableRemain property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setPayableRemain(BigDecimal value) {
        this.payableRemain = value;
    }

    /**
     * Gets the value of the payableTransaction property.
     * 
     * @return
     *     possible object is
     *     {@link Transactions }
     *     
     */
    public Transactions getPayableTransaction() {
        return payableTransaction;
    }

    /**
     * Sets the value of the payableTransaction property.
     * 
     * @param value
     *     allowed object is
     *     {@link Transactions }
     *     
     */
    public void setPayableTransaction(Transactions value) {
        this.payableTransaction = value;
    }

    /**
     * Gets the value of the receivableInvoice property.
     * 
     * @return
     *     possible object is
     *     {@link Invoices }
     *     
     */
    public Invoices getReceivableInvoice() {
        return receivableInvoice;
    }

    /**
     * Sets the value of the receivableInvoice property.
     * 
     * @param value
     *     allowed object is
     *     {@link Invoices }
     *     
     */
    public void setReceivableInvoice(Invoices value) {
        this.receivableInvoice = value;
    }

    /**
     * Gets the value of the receivableRemain property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getReceivableRemain() {
        return receivableRemain;
    }

    /**
     * Sets the value of the receivableRemain property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setReceivableRemain(BigDecimal value) {
        this.receivableRemain = value;
    }

    /**
     * Gets the value of the receivableTransaction property.
     * 
     * @return
     *     possible object is
     *     {@link Transactions }
     *     
     */
    public Transactions getReceivableTransaction() {
        return receivableTransaction;
    }

    /**
     * Sets the value of the receivableTransaction property.
     * 
     * @param value
     *     allowed object is
     *     {@link Transactions }
     *     
     */
    public void setReceivableTransaction(Transactions value) {
        this.receivableTransaction = value;
    }

    /**
     * Gets the value of the settleAmount property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getSettleAmount() {
        return settleAmount;
    }

    /**
     * Sets the value of the settleAmount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setSettleAmount(BigDecimal value) {
        this.settleAmount = value;
    }

    /**
     * Gets the value of the settleHistoryId property.
     * 
     * @return
     *     possible object is
     *     {@link Long }
     *     
     */
    public Long getSettleHistoryId() {
        return settleHistoryId;
    }

    /**
     * Sets the value of the settleHistoryId property.
     * 
     * @param value
     *     allowed object is
     *     {@link Long }
     *     
     */
    public void setSettleHistoryId(Long value) {
        this.settleHistoryId = value;
    }

    /**
     * Gets the value of the status property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStatus() {
        return status;
    }

    /**
     * Sets the value of the status property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStatus(String value) {
        this.status = value;
    }

    /**
     * Gets the value of the userName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUserName() {
        return userName;
    }

    /**
     * Sets the value of the userName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUserName(String value) {
        this.userName = value;
    }

}
